/*
 * @(#)cn.design.pattern.memento.theory 2020/4/26/0026
 *
 * Copy Right@ 人人译视界
 */


package cn.design.pattern.memento.theory;

/**
 * <pre>
 * @author tuwei
 *
 * @version 0.9
 *
 * 修改版本: 0.9
 * 修改日期: 2020/4/26/0026
 * 修改人 :  tuwei
 * 修改说明: 初步完成
 * 复审人 ：
 * </pre>
 */
public class Client {
	public static void main(String[] args) {
		Originator originator = new Originator();
		Caretaker caretaker = new Caretaker();
		originator.setState("状态#1 攻击力100");
		caretaker.add(originator.saveStateMemento());
		System.out.println("当前状态是：" + originator.getState());

		originator.setState("状态#2 攻击力80");
		caretaker.add(originator.saveStateMemento());
		System.out.println("当前状态是：" + originator.getState());

		// 此时需要恢复到状态1
		originator.getStateFromMemento(caretaker.get(0));
		System.out.println("恢复到状态1，当前状态是：" + originator.getState());
	}
}
